package com.gqz.defect.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.defect.entity.TEnDefectsSheetEntity;
import com.gqz.defect.vo.EnDefectsSheetListVo;
import com.gqz.defect.vo.EnDefectsSheetVo;
import com.gqz.defect.vo.EnTjVo;
import com.gqz.defect.vo.TEnDefectsSheetOperateVo;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;


/**
 * 消缺工单表
 */
public interface IEnDefectsSheetService extends IService<TEnDefectsSheetEntity> {

    /**
     * 通过id 获取 信息消缺工单表
     *
     * @param id 设备主键
     * @return 消缺工单表
     */
    List<EnDefectsSheetVo> getById(String id);

    /**
     * 分页 获取 信息 消缺工单表
     *
     * @param requestForm 查询体body
     * @return page 消缺工单表
     */
    Page<EnDefectsSheetVo> page(RequestForm<EnDefectsSheetVo> requestForm);

    /**
     * 分页 获取 数量消缺工单表
     *
     * @param requestForm 查询体body
     * @return page 消缺工单表
     */
    Long count(RequestForm<EnDefectsSheetVo> requestForm);

    /**
     * 新增记录
     *
     * @param vos 记录数据
     * @return 影响的条数num
     */
    int insert(EnDefectsSheetListVo vos);

    /**
     * 修改记录
     *
     * @param vos 记录数据
     * @return 影响的条数num
     */
    int update(EnDefectsSheetListVo vos);

    /**
     * @param requestForm
     * @Description: 导出excel
     * @return: void
     */
    void exportExcel(HttpServletResponse response, RequestForm<EnDefectsSheetVo> requestForm);


    /**
     * 删除出入库单据
     *
     * @param ids 单据编号
     * @return 影响的条数num
     */
    Integer deleteByIds(List<String> ids);

    /**
     * 派单
     *
     * @param vos 记录数据
     * @return 影响的条数num
     */
    int pdSend(List<EnDefectsSheetVo> vos);

    /**
     * 质量评价接口
     *
     * @param vos 记录数据
     * @return 影响的条数num
     */
    int zlpjSend(EnDefectsSheetVo vos);

    /**
     * 获取流程信息
     *
     * @param taskNo 工单id
     * @return 流程信息
     */
    List<TEnDefectsSheetOperateVo> getBaseProcessList(String taskNo);

    /**
     * 获取工单编号
     */
    String getDjbh();

    List<EnTjVo> getGdStatusXx(String sdate, String edate);
}
